#ifndef KZFCAPTUREPARM_H
#define KZFCAPTUREPARM_H

#include <QObject>
#include <QString>
#include <QDialog>


/*
    保存摄像机的硬件参数
    校正流程
    需要记录已经校准的摄像头名字参数 以便下次打开使用
*/
class kzfCaptureParm
{
public:
    enum eCalibMode     {nullMode, lineManualMode, circleAutoMode};
    enum eCalibState    {calibStateIdel, calibStarted, calibTypeselected, calibGotPixel, calibGotGain, calibDone};

public:
    float umPerPixel;//像素分辨率
    float cameraGain;//镜头倍数
    float cameraFocal;//焦距 mm
    float cameraTotalPixel;//像素 单位 一个

    int imgWidth;//图象宽(640*320)分辨率 表示宽有多少个像素点
    int imgHight;//图象高

    bool isCalib;//是否完成校验
    int calibState;//校准状态
    int calibMode;//校准模式

    kzfCaptureParm();

    void calibStartSet();
    void calibDoneSet();
    void calibProcess();
    void cameraSetDPI(int width, int hight);
    void cameraSetFocal(float focal);
    void cameraSetSurfaseSize(float width, float hight);
    void cameraSetSurfaseSize(float inch);
    void cameraSetPixel(float pixelPerMillion);//输入xx百万像素

    void getCameraParm(QString strName);
    void saveCameraParm();
    void calibParmReset();

};

#endif // KZFCAPTUREPARM_H

